Добавьте плавающую кнопку действия

Попробуйте способ создания
Jetpack Compose — рекомендуемый набор инструментов пользовательского интерфейса для Android. Узнайте, как добавлять компоненты в Compose.

Кнопка плавающего действия (FAB) — это круглая кнопка, которая запускает основное действие в пользовательском интерфейсе вашего приложения. На этой странице показано, как добавить FAB в макет, настроить его внешний вид и реагировать на нажатия кнопок.

Чтобы узнать больше о том, как спроектировать кнопку плавающего действия в вашем приложении в соответствии с Руководством по дизайну материалов, см. также раздел «Кнопки: кнопка плавающего действия» .

Рисунок 1. Плавающая кнопка действия

Добавьте кнопку плавающего действия в свой макет

Следующий код показывает, как FloatingActionButton должен выглядеть в файле макета:

<com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="end|bottom"
        android:src="@drawable/ic_my_icon"
        android:contentDescription="@string/submit"
        android:layout_margin="16dp" />

По умолчанию FAB окрашен атрибутом colorAccent , который вы можете настроить с помощью цветовой палитры темы .

Вы можете настроить другие свойства FAB, используя атрибуты XML или соответствующие методы, например следующие:

  • Размер FAB, используя атрибут app:fabSize или метод setSize() .
  • Цвет пульсации FAB с использованием атрибута app:rippleColor или метода setRippleColor() .
  • Значок FAB с использованием атрибута android:src или метода setImageDrawable() .

Реагировать на нажатия кнопок

Затем вы можете применить View.OnClickListener для обработки нажатий FAB. Например, следующий код отображает Snackbar , когда пользователь нажимает FAB:

Котлин

val fab: View = findViewById(R.id.fab)
fab.setOnClickListener { view ->
    Snackbar.make(view, "Here's a Snackbar", Snackbar.LENGTH_LONG)
            .setAction("Action", null)
            .show()
}

Ява

FloatingActionButton fab = findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        Snackbar.make(view, "Here's a Snackbar", Snackbar.LENGTH_LONG)
                .setAction("Action", null).show();
    }
});

Дополнительную информацию о возможностях FAB см. в справочнике API для FloatingActionButton .